﻿<script type="text/javascript">
var items = ["one","two","three"];
var i = 10;
//匿名自执行函数  让i的作用域变为局部
(function(){
	for(var i=0; i<items.length; i++){
			var item = items[i]
			//alert(items[i]);
			//alert(item);
	}
})();
alert(i);

//创建一个简单的对象
var obj = {
	val:5,
	click:function(){
		alert("hello");
	}
};

//用构造函数创建对象
function User(xm,nl){
	this.name = xm;
	this.age = nl;
	//var关键字声明对象内部私有变量
	var year = (new Date()).getFullYear() - nl;
	//this关键字可以声明对象的公共方法
	this.getYearBorn = function(){
		return year;
	};
	this.sleep = function(){
		alert("睡觉");
	}
}

//通过对象原型声明方法
User.prototype.getName = function(){
	return this.name;
};
User.prototype.getAge = function(){
	return this.age;
};
User.prototype.wow = function(){
	alert("大叫一声 哇哇哇");
};

//创建一个对象的实例
var me = new User("冯小奇",27);
alert(me.name);
alert("出生年份：" + me.getYearBorn());
alert(me.year);//私有变量，无法访问
me.wow();
me.sleep();
//alert(me.constructor == User);

//直接执行构造函数，没有通过new创建实例的话，name没有声明，默认是在创建User的上下文环境中，即window的作用域内
//User("小奇奇",27);
//alert(window.name);

</script>

<div id="main">id为main的DIV</div>